//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#ifndef _ModelsReports_h__
#define _ModelsReports_h__
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#include "ModelsSummaryByLigand.h"
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
namespace ModelsReport {
  
  bool EqualScheme (TNode <String>* model, void* ref);
  
}
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
class ModelsReports { 

  private:


  protected:

    TListE <String>*                listFilenameIn;
    String*                         folderReportsOut;

    TListE <ModelsSummaryByLigand>* modelsSumaries;

    String*                         toString;
    
  public:

    ModelsReports ();
    ModelsReports (const ModelsReports&);
    ModelsReports (const ModelsReports*);

    ~ModelsReports ();

    void                            ListFilenameIn (TListE <String>* listFilenameIn);
    void                            FolderReportsOut (String* folderReportsOut);
    void                            ModelsSumaries (TListE <ModelsSummaryByLigand>* modelsSumaries);

    TListE <String>*                ListFilenameIn (void);
    String*                         FolderReportsOut (void);
    TListE <ModelsSummaryByLigand>* ModelsSumaries (void);

    bool                            LoadXMLFiles (void);
    
    bool                            CSVReportsByLigand (String* headerModel);
    bool                            CSVReportsByModelType (String* headerModel);
    
    bool                            LatexReportsByLigand (String* headerModel);
    bool                            LatexReportsByModelType (String* headerModel);

    ModelsReports                   operator= (const ModelsReports& modelsReports);

};
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#endif
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
